package test1;

import java.util.ArrayList;

public class Demo2 {
    public static void main(String[] args) {
        ArrayList<Integer> nums1 = new ArrayList<>();
        nums1.add(1);
        nums1.add(2);
        nums1.add(3);
        ArrayList<Integer> nums2 = new ArrayList<>();
        nums2.add(8);
        nums2.add(2);
        nums2.add(2);
        nums2.add(3);
        nums2.add(8);
        ArrayList<Integer> ret = new ArrayList<>();
        ret = intersection(nums1,nums2);
        System.out.println(ret);

    }
    public static ArrayList<Integer> intersection (ArrayList<Integer> nums1, ArrayList<Integer> nums2) {
        // write code here
        //定义一个数组储存
        ArrayList<Integer> list = new ArrayList<>();
        //定义两个指针，一个指向第一个数组，一个指向第二个数组
        //取出来两个数组的数  异或取反
        for (int i = 0; i < nums1.size(); i++) {
            for (int j = 0; j < nums2.size(); j++) {
                if ((nums1.get(i) ^ nums2.get(j)) == 0){
                    list.add(nums1.get(i));
                    break;
                }
            }
        }
        return list;
    }
}
